package com.youmu.sichuansfc.dao.impl;

import com.youmu.sichuansfc.dao.FundUserLoginHistoryDao;
import com.youmu.sichuansfc.domain.YoumuFundUserLoginHistory;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * @author WYZ
 * @create 2018-01-30 15:38
 * @desc
 **/
@Repository
public class FundUserLoginHistoryDaoImpl implements FundUserLoginHistoryDao {

    private EntityManager em;
    @PersistenceContext
    public void setEm(EntityManager em) {
        this.em = em;
    }

    @Override
    public YoumuFundUserLoginHistory insert(Date loginTime, String loginIp, long fundUserId) {

        if(loginTime != null || StringUtils.isNotEmpty(loginIp)){
            YoumuFundUserLoginHistory youmuFundUserLoginHistory = new YoumuFundUserLoginHistory();
            youmuFundUserLoginHistory.setAddTime(new Timestamp(new Date().getTime()));
            youmuFundUserLoginHistory.setLoginIp(loginIp);
            youmuFundUserLoginHistory.setLoginTime(loginTime);
            youmuFundUserLoginHistory.setFundUserId(fundUserId);
            youmuFundUserLoginHistory.setIsDelete(false);

            em.persist(youmuFundUserLoginHistory);
            return  youmuFundUserLoginHistory;
        }
        return null;
    }

    public List<YoumuFundUserLoginHistory> findByFundUserId(long userId, int num, int size) {

        String sql = "from YoumuFundUserLoginHistory where fund_user_id =:userId and isDelete = 0 order by add_time desc ";
        List<YoumuFundUserLoginHistory> youmuFundUserLoginHistoryList = em.createQuery(sql, YoumuFundUserLoginHistory.class)
                .setParameter("userId", userId)
                .setFirstResult(num*size)
                .setMaxResults(size)
                .getResultList();
        return youmuFundUserLoginHistoryList;
    }


}
